#ifndef HAPTIC_H_INCLUDED
#define HAPTIC_H_INCLUDED

#include "types.h"

class Haptic : public Instance
{
    public:
        Haptic(const string& name = "Untitled", ClassId* classId = sClassId, int deviceIndex = -1);
        virtual ~Haptic();

        static Haptic* getActive(unsigned int index = 0);
        static bool detectActive();

        // Event handling

        // Instance
        DECLARE_CLASSID(Haptic);
        virtual bool load(DataStream* ds = 0);
        virtual bool save(DataStream* ds = 0);

    private:
        static vector<Haptic*> sActives;

        SDL_Haptic* mSdlHaptic;
};

#endif // HAPTIC_H_INCLUDED
